Population class module
Module containing the Population grid class object.
Here all the functionality of a Population object is defined.
TODO: the save_snapshots and save_snapshot, are they actually distinct?
- Tasks:
- TODO: type the private functions 
- TODO: fix the correct object types for the default values of the bse_options 
- TODO: think of a clean and nice way to unload and remove the custom_logging_info library from memory (and from disk) 
- TODO: think of a nice way to remove the loaded grid_code/ generator from memory. 
- TODO: Some of the methods that we have defined in the (mixin) class are designed to be used as a portal to information (return_binary_c_version_info for example.) The current design is that they are all instance methods, but that is not always necessary. We can decorate them with @staticmethod, or @classmethod to make it easier to use them (https://realpython.com/instance-class-and-static-methods-demystified/) 
 
- class binarycpython.utils.population_class.Population(**kwargs)[source]
- Bases: - analytics,- cache,- dataIO,- distribution_functions,- grid_logging,- population_options_defaults,- HPC,- metadata,- Moe_di_Stefano_2017,- spacing_functions,- version_info,- grid_sampling,- monte_carlo_sampling,- source_file_sampling,- custom_generator_sampling,- signal_handling,- return_functions,- ensemble,- argument_handling,- termination_functions,- miscellaneous_functions,- evolution_functions,- failing_systems_functions,- sampling_variables,- custom_binary_c_logging,- logging_functionality,- Email- Population Object. Contains all the necessary functions to set up, run and process a population of systems - clean()[source]
- Clean the contents of the population object so it can be reused. - Calling _pre_run_setup() - TODO: decide to deprecate this function - Return type
- None
 
 - evolve()[source]
- Entry point function of the whole object. From here, based on the settings, we set up a grid and (probably) evolve the population. - There are no direct arguments to this function, the population_options contain all the relevant settings. - TODO: create a pre-evolve function to handle all the things that need to be done before the evolution TODO: create a post-evolve function to handle all the things that need to be done before the evolution - Return type
- None
- Returns
- a dictionary containing the analytics of the run.